module.exports = {
  extends: ["@commitlint/config-conventional"],
  rules: {
    // @see https://commitlint.js.org/#/reference-rules
    "type-enum": [0, "always"],
    "subject-empty": [0, "never"],
  },

  prompt: {
    messages: {
      type: "Select the type of commit you want to make:",
      scope: "Select a commit scope (optional):",
      customScope: "Please enter a custom commit scope:",
      subject: "Enter a brief and concise change description:\n",
      body: 'Enter a more detailed change description (optional). Use "|" to break lines:\n',
      breaking: 'List breaking changes (optional). Use "|" to break lines:\n',
      footerPrefixesSelect: "Select a related issue prefix (optional):",
      customFooterPrefix: "Enter a custom issue prefix:",
      footer: "List related issues (optional) For example: #31, #I3244:\n",
      generatingByAI: "Generifying your commit description using AI...",
      generatedSelectByAI: "Select an AI-generated description:",
      confirmCommit: "Do you want to commit or modify the commit?",
    },
    // prettier-ignore
    types: [
      { value: "feat", name: "Feature: ✨ New features", emoji: ":sparkles:" },
{ value: "fix", name: "Fix: 🐛 Bug fixes", emoji: ":bug:" },
{ value: "docs", name: "Documentation: 📝 Documentation changes (updated README files or comments)", emoji: ":memo:" },
{ value: "style", name: "Formatting: 🌈 Code formatting (whitespace, formatting, missing semicolons, etc.)", emoji: ":lipstick:" },
{ value: "refactor", name: "Refactoring: 🔄 Code refactoring (code changes that do not fix bugs or add features)", emoji: ":recycle:" },
{ value: "perf", name: "Performance: 🚀 Performance optimization", emoji: ":zap:" },
{ value: "test", name: "Test: 🧪 Adding missing tests or modifying existing tests", emoji: ":white_check_mark:"},
{ value: "build", name: "Build: 📦️ Changes to the build process and external dependencies (such as upgrading npm packages, modifying vite configuration, etc.)", emoji: ":package:"},
{ value: "ci", name: "Integration: ⚙️ Modifying CI configuration and scripts", emoji: ":ferris_wheel:"},
{ value: "revert", name: "Revert: ↩️ Rollback commit", emoji: ":rewind:"},
{ value: "chore", name: "Other: 🛠️ Changes to the build process or auxiliary tools and libraries (does not affect source files or test cases)", emoji: ":hammer:"},
{ value: "wip", name: "In-development: 🚧 Temporary commits during the development phase", emoji: ":construction:"},
    ],
    useEmoji: true,
    emojiAlign: "center",
    useAI: false,
    aiNumber: 1,
    themeColorCode: "",
    scopes: [],
    allowCustomScopes: true,
    allowEmptyScopes: true,
    customScopesAlign: "bottom",
    customScopesAlias: "custom",
    emptyScopesAlias: "empty",
    upperCaseSubject: false,
    markBreakingChangeMode: false,
    allowBreakingChanges: ["feat", "fix"],
    breaklineNumber: 100,
    breaklineChar: "|",
    skipQuestions: [],
    issuePrefixes: [{ value: "closed", name: "closed:   ISSUES has been processed" }],
    customIssuePrefixAlign: "top",
    emptyIssuePrefixAlias: "skip",
    customIssuePrefixAlias: "custom",
    allowCustomIssuePrefix: true,
    allowEmptyIssuePrefix: true,
    confirmColorize: true,
    maxHeaderLength: Infinity,
    maxSubjectLength: Infinity,
    minSubjectLength: 0,
    scopeOverrides: undefined,
    defaultBody: "",
    defaultIssues: "",
    defaultScope: "",
    defaultSubject: "",
  },
};
